;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Logo Pagbenk Seu dinheiro rende mais
Topo

Governo quer reformular habitação popular, enquanto mira mudanças no Minha Casa Minha Vida

Conjuntos residenciais Viver Melhor I e II, em Manaus, construídos no programa Minha Casa Minha Vida - Caixa Econômica Federal/Arquivo
Conjuntos residenciais Viver Melhor I e II, em Manaus, construídos no programa Minha Casa Minha Vida Imagem: Caixa Econômica Federal/Arquivo

Por Marcela Ayres

15/05/2019 14h18

BRASÍLIA (Reuters) - O governo avalia uma ampla reformulação no programa de habitação popular, enquanto se avalia alterações para o atual modelo do Minha Casa Minha Vida, diante de desafios orçamentários, afirmou nesta quarta-feira o secretário especial de Produtividade, Emprego e Competitividade, Carlos da Costa.

Ele ressaltou que os dois processos correrão em paralelo, já que a intenção é que as novidades sejam implementadas de maneira gradual. Entre elas, estudam-se a criação de parcerias público-privadas para empreendimentos e uma forma de pagamento similar a de leasing, transferindo o direito de propriedade ao usuário no final da operação.

O governo também quer proximidade maior das habitações das cidades e aproveitar patrimônios da União para isso. Na prática, parte do subsídio do governo --hoje vertido diretamente para o financiamento ao mutuário-- seria dado com o terreno.

"[Isso] conferiria mais eficiência porque com menos recursos você conseguiria fazer a mesma coisa. Em segundo lugar, uma adequação maior do que queremos levar: habitação de qualidade para pessoas, e não só uma casa no meio do nada", disse.

Recursos do FGTS para as incorporadoras

Costa avaliou que o atual modelo do Minha Casa Minha Vida conta com empreendimentos distantes, "praticamente sem regionalização" e, em alguns casos, muito caros pela ausência de tecnologias construtivas modernas.

No novo programa habitacional, o governo também quer maior segurança jurídica para o empreendedor, não necessariamente financiando a pessoa final, disse o secretário. Assim, deve propor o uso de recursos do FGTS (Fundo de Garantia de Tempo de Serviço) direto para o incorporador do empreendimento.

"Não será para que empreendedor faça qualquer coisa, será para um público específico do Minha Casa Minha Vida", disse ele.

Minha Casa Minha Vida hoje

Mais cedo, ao participar de audiência na Comissão de Desenvolvimento Econômico, Indústria, Comércio e Serviços da Câmara dos Deputados, Costa disse que o Minha Casa Minha Vida precisa ser melhorado, mas que não haverá bloqueio nos recursos destinados ao programa.

O Ministério do Desenvolvimento Regional informou que o governo vai mandar ao Congresso em julho uma proposta de mudanças em políticas do programa habitacional.

Segundo publicou o jornal "Folha de S.Paulo", o governo estuda reduzir de 10% para 3% a participação no subsídio federal das faixas 1,5 e 2 do Minha Casa Minha Vida. O jornal afirmou que recursos do FGTS seriam usados para repor a diferença.

Uma fonte com participação direta nas discussões sobre a reformulação dos programas habitacionais reconheceu que isso está em avaliação, mas que uma série de outras alternativas também estão sendo ponderadas.

"Estar em avaliação é uma coisa. Várias estão sendo avaliadas. Decidido é outra muito diferente. Tem muitas análises sendo feitas e nada decidido ainda", disse a fonte à agência de notícias Reuters, em condição de anonimato.

A mesma fonte enfatizou que o modelo atual do Minha Casa Minha Vida necessita de "uma melhora fiscal", e que a clareza quanto a esse cenário está diretamente ligada à aprovação da reforma da Previdência, ainda em seus primeiros estágios de tramitação na Câmara.

"Se não houver a reforma da Previdência, o modelo atual tem um problema estrutural. Pois não tem recurso no orçamento dado o rombo na Previdência, que é grande e crescente", acrescentou.

Empresas oferecem test-drive de sapato e apartamento

UOL Notícias